package com.jadefashion.mapper;

import com.jadefashion.pojo.Permission;
import com.jadefashion.pojo.Role;
import com.jadefashion.pojo.User;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Set;

public interface UserMapper {
    User findByUsername(@Param("username") String username);

    Set<Role> findRolesByUserId(@Param("id") Integer id);

    Set<Permission> findPermissonByRoleId(@Param("roleId") Integer roleId);

    //查询用户数据
    List<User> queryPage(@Param("queryString") String queryString);


    //    添加用户
    void addUser(User user);

    //    添加用户详情
    void addUserDetail(@Param("roleIds") List<Integer> roleIds, @Param("userId") Integer id);

    //修改user
    void updateUser(User user);

    //    删除用户对应角色详情数据
    void deleteRoleForUserByDetail(@Param("deleteIds") List<Integer> deleteIds, @Param("currentRowId") Integer currentRowId);

    //根据id删除user
    void deleteUserById(@Param("id") Integer id);

    //    删除用户对应用户的详情
    void deleteUserForUserDetailByUserId(@Param("id") Integer id);
}
